package day1;

/*
1. 包含属性hour、min、sec，都是int类型
2. 提供无参构造器
3. 提供构造器（三参），对hour、min、sec进行初始化
4. 提供构造器（一参），参数含义：总秒数int seconds，对hour、min、sec进
行初始化，例如3661秒，转为a小时b分钟c秒，就是1小时1分钟1秒
5. 提供每个属性的get方法
6. 提供getTotalSeconds()方法，用于返回hour小时min分钟sec秒钟对应的总秒
数seconds
7. 提供disp()方法，输出对象的属性信息和总秒数
 */
public class Duration {
    //1. 包含属性hour、min、sec，都是int类型
    private int hour;
    private int min;
    private int sec;

    //2. 提供无参构造器
    public Duration() {
    }

    //3. 提供构造器（三参），对hour、min、sec进行初始化
    public Duration(int hour, int min, int sec) {
        this.hour = hour;
        this.min = min;
        this.sec = sec;
    }

    //4. 提供构造器（一参），参数含义：总秒数int seconds，对hour、min、sec进
    //行初始化，例如3661秒，转为a小时b分钟c秒，就是1小时1分钟1秒
    public Duration(int seconds) {
        this.hour = seconds / 3600;
        this.min = seconds % 3600 / 60;
        this.sec = seconds % 3600 % 60;
    }
    //5. 提供每个属性的get方法

    public int getHour() {
        return hour;
    }

    public int getMin() {
        return min;
    }

    public int getSec() {
        return sec;
    }

    //6. 提供getTotalSeconds()方法，用于返回hour小时min分钟sec秒钟对应的总秒
    //数seconds
    public  int getTotalSeconds(){
        int seconds = this.hour*3600+this.min*60+this.sec;
        return seconds;
    }
    //7. 提供disp()方法，输出对象的属性信息和总秒数
    public  void  disp(){
        System.out.println(hour+"小时"+min+"分钟"+sec+"秒");
        System.out.println("总秒数为："+this.getTotalSeconds());
    }
}
